Add a new chunk by clicking the Insert Chunk button on the
toolbar or by pressing Ctrl+Alt+I. ##Introducción Introducción
# Introducción En este análisis se presenta la historia de los datos
sobre …, se cargan las bases de datos, se limpian y se generan
visualizaciones clave.
Rows: 1,867
Columns: 29
$ `Country Name` <chr> "Afghanistan", "Afghanistan", "Afghanistan", "A…
$ `Country Code` <chr> "AFG", "AFG", "AFG", "AFG", "AFG", "AFG", "AFG"…
$ `Series Name` <chr> "GDP per capita (current US$)", "Life expectanc…
$ `Series Code` <chr> "NY.GDP.PCAP.CD", "SP.DYN.LE00.IN", "SE.ADT.LIT…
$ `2000 [YR2000]` <dbl> 1.749310e+02, 5.500500e+01, NA, 5.047608e-02, 2…
$ `2001 [YR2001]` <dbl> 1.387068e+02, 5.551100e+01, NA, 4.657295e-02, 2…
$ `2002 [YR2002]` <dbl> 1.789541e+02, 5.622500e+01, NA, 4.407778e-02, 2…
$ `2003 [YR2003]` <dbl> 1.988711e+02, 5.717100e+01, NA, 4.434073e-02, 2…
$ `2004 [YR2004]` <dbl> 2.217637e+02, 5.781000e+01, NA, 3.789793e-02, 2…
$ `2005 [YR2005]` <dbl> 2.541842e+02, 5.824700e+01, NA, 5.188783e-02, 2…
$ `2006 [YR2006]` <dbl> 2.742186e+02, 5.855300e+01, NA, 5.539234e-02, 2…
$ `2007 [YR2007]` <dbl> 3.762232e+02, 5.895600e+01, NA, 7.756123e-02, 2…
$ `2008 [YR2008]` <dbl> 3.817332e+02, 5.970800e+01, NA, 1.447515e-01, 2…
$ `2009 [YR2009]` <dbl> 4.520537e+02, 6.024800e+01, NA, 2.214657e-01, 2…
$ `2010 [YR2010]` <dbl> 5.606215e+02, 6.070200e+01, NA, 2.753810e-01, 2…
$ `2011 [YR2011]` <dbl> 6.066947e+02, 6.125000e+01, 3.100000e+01, 3.887…
$ `2012 [YR2012]` <dbl> 6.514171e+02, 6.173500e+01, NA, 3.196266e-01, 3…
$ `2013 [YR2013]` <dbl> 6.370871e+02, 6.218800e+01, NA, 2.624696e-01, 3…
$ `2014 [YR2014]` <dbl> 6.250549e+02, 6.226000e+01, NA, 2.386428e-01, 3…
$ `2015 [YR2015]` <dbl> 5.655697e+02, 6.227000e+01, 3.375384e+01, 2.467…
$ `2016 [YR2016]` <dbl> 5.220822e+02, 6.264600e+01, NA, 2.169299e-01, 3…
$ `2017 [YR2017]` <dbl> 5.254698e+02, 6.240600e+01, NA, 2.260112e-01, 3…
$ `2018 [YR2018]` <dbl> 4.913372e+02, 6.244300e+01, NA, 2.158776e-01, 3…
$ `2019 [YR2019]` <dbl> 4.966025e+02, 6.294100e+01, NA, 1.914908e-01, 3…
$ `2020 [YR2020]` <dbl> 5.107871e+02, 6.145400e+01, NA, 1.805550e-01, 3…
$ `2021 [YR2021]` <dbl> 3.564962e+02, 6.041700e+01, 3.700000e+01, 1.982…
$ `2022 [YR2022]` <dbl> 3.572612e+02, 6.561700e+01, NA, 2.035519e-01, 4…
$ `2023 [YR2023]` <dbl> 4.157074e+02, 6.603500e+01, NA, 2.100434e-01, 4…
$ `2024 [YR2024]` <lgl> NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,…
When you save the notebook, an HTML file containing the code and
output will be saved alongside it (click the Preview button or
press Ctrl+Shift+K to preview the HTML file).
The preview shows you a rendered HTML copy of the contents of the
editor. Consequently, unlike Knit, Preview does not
run any R code chunks. Instead, the output of the chunk when it was last
run in the editor is displayed.
1) Introducción
En un mundo cada vez más globalizado, comprender las diferencias y
similitudes entre países en términos de desarrollo económico, social y
ambiental es fundamental para la toma de decisiones y formulación de
políticas públicas. Este proyecto realiza un análisis exploratorio de
datos (EDA) sobre el conjunto de datos World Development Indicators
(WDI) del Banco Mundial, con el objetivo de descubrir patrones,
relaciones y tendencias clave entre distintas variables de
desarrollo.
2) Descripción del Problema:
La gran cantidad de indicadores disponibles en los datos del Banco
Mundial permite explorar preguntas como: ¿Cómo ha evolucionado el acceso
a la educación y la salud en distintas regiones? ¿Existe una relación
entre el PIB per cápita y la esperanza de vida? ¿Qué países muestran
anomalías en sus indicadores ambientales? ¿Cómo se relacionan las
múltiples dimensiones del desarrollo en el tiempo? ¿Se relaciona el
nivel de alfabetización con la esperanza de vida de la persona?
Este proyecto se propone utilizar técnicas de visualización y
análisis exploratorio para generar insights significativos que nos
ayuden a responder algunas de estas preguntas y a su mismo tiempo que el
mismo espectador de estas pueda generar conclusiones por el mismo.
3) Fuentes:
Este proyecto de análisis se basa mayormente en el dataset de World
Development Indicators (WDI), disponible públicamente en World Bank
Data360. Este conjunto contiene más de mil indicadores para más de 200
países desde 1960 hasta la actualidad. Para esta investigación, se
seleccionaron los siguientes indicadores clave: PIB per cápita (USD
actuales) – NY.GDP.PCAP.CD Esperanza de vida al nacer (años) –
SP.DYN.LE00.IN Tasa de alfabetización (% de adultos) – SE.ADT.LITR.ZS
Emisiones de CO₂ (toneladas per cápita) – EN.ATM.CO2E.PC Población total
– SP.POP.TOTL Porcentaje de acceso a servicios básicos –
SH.H2O.BASW.ZS
4) Gráficas:
Análisis unidimensional
1. Distribución del PIB per cápita (2022)
Distribución: Se observa una distribución asimétrica hacia la
derecha.
Tendencia general: La mayoría de los países tienen un PIB per cápita
inferior a los $10,000 USD.
Un número reducido de países como Suiza, Noruega, Catar y Estados
Unidos muestran niveles extremadamente altos (>60,000 USD).
Esto refleja la desigualdad económica global, donde muchos países
siguen en desarrollo mientras que una minoría posee economías altamente
desarrolladas.
2.Esperanza de Vida por Region (2022)
Distribución general: La gráfica muestra las diferencias en la
esperanza de vida al nacer entre regiones.
Se observa que las regiones de Europa y América del Norte tienen un
rango de esperanza de vida bastante alto y estrecho, mientras que África
Subsahariana muestra una mayor dispersión y valores más bajos.
Algunas regiones, como Asia Oriental, tienen una alta esperanza de
vida, pero con variabilidad dependiendo de los países dentro de la
región.
Valores extremos (outliers): Se pueden identificar algunas regiones
con valores atípicos, como países con niveles extremadamente altos de
esperanza de vida (por ejemplo, en Europa o América del Norte).
Tendencia general: Regiones como África Subsahariana y Asia
Meridional tienen una media de esperanza de vida más baja y una gran
dispersión, lo que indica disparidades significativas entre los países
dentro de estas regiones.
3. Grafico de densidad del CO2
Distribución: Altamente asimétrica con una larga cola derecha.
Tendencia general:
La mayoría de países emiten menos de 5 toneladas de CO₂ per
cápita.
Casos extremos como Catar y Emiratos Árabes Unidos superan las 25
toneladas, destacando como outliers.
Esto refleja una enorme desigualdad en términos de responsabilidad
ambiental y desarrollo económico.
4. ScatterPlot del PIB vs la Esperzanza de Vida
Se observa una correlación positiva: los países con mayor PIB per
cápita tienden a tener una mayor esperanza de vida.
Existen excepciones notables, como Estados Unidos, que tiene un PIB
alto pero una esperanza de vida más baja en comparación con otros países
de ingreso similar.
La escala logarítmica permite observar con mayor claridad los países
de bajos y medianos ingresos, que de otro modo quedarían agrupados.
5. BubblePlot Alfabetizacion Agua Poblacion (2022)
Es probable que los países con una mayor tasa de alfabetización
también presenten un mayor porcentaje de acceso a agua básica.
Se pueden observar excepciones en países con diferentes niveles de
población, donde la falta de alfabetización o de acceso a agua básica
puede ser más pronunciada.
Todavía me falta pero la estructura que ya está las secciones de .r,
es dandole al c+ de arriba, opción .r, y de ahí se pone el codigo de
importación en el medio de estás secciones de texto
Nota: Si no logramos, lit solo copiamos el codigo.
LS0tDQp0aXRsZTogIkFuw6FsaXNpcyBkZWwgRGF0YXNldCBNdW5kaWFsIFdESSBkZWwgQmFuY28gTXVuZGlhbCINCmF1dGhvcjogIk1hdGhldyBDb3JkZXJvIGUgSWFuIFVnYWxkZSINCm91dHB1dDogDQogIGh0bWxfbm90ZWJvb2s6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2RlcHRoOiAyDQogICAgY29kZV9mb2xkaW5nOiBoaWRlDQotLS0NCg0KYGBge3Igc2V0dXAsIGluY2x1ZGU9IEZBTFNFfQ0KIyBGaWphciBlbCB3b3JraW5nIGRpcmVjdG9yeSBhbCBkZWwgLlJtZA0KaWYgKGludGVyYWN0aXZlKCkgJiYgcmVxdWlyZU5hbWVzcGFjZSgicnN0dWRpb2FwaSIsIHF1aWV0bHkgPSBUUlVFKSkgew0KICBzZXR3ZChkaXJuYW1lKHJzdHVkaW9hcGk6OmdldEFjdGl2ZURvY3VtZW50Q29udGV4dCgpJHBhdGgpKQ0KfQ0KDQprbml0cjo6b3B0c19jaHVuayRzZXQoDQogIGVjaG8gICAgPSBGQUxTRSwNCiAgbWVzc2FnZSA9IEZBTFNFLA0KICB3YXJuaW5nID0gRkFMU0UNCikNCg0KbGlicmFyeShyZWFkcikNCmxpYnJhcnkoZHBseXIpDQpsaWJyYXJ5KHRpZHlyKQ0KbGlicmFyeShzdHJpbmdyKQ0KbGlicmFyeShwbG90bHkpDQpgYGANCg0KQWRkIGEgbmV3IGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqSW5zZXJ0IENodW5rKiBidXR0b24gb24gdGhlIHRvb2xiYXIgb3IgYnkgcHJlc3NpbmcgKkN0cmwrQWx0K0kqLiAjI0ludHJvZHVjY2nDs24gSW50cm9kdWNjacOzbiBcIyBJbnRyb2R1Y2Npw7NuIEVuIGVzdGUgYW7DoWxpc2lzIHNlIHByZXNlbnRhIGxhIGhpc3RvcmlhIGRlIGxvcyBkYXRvcyBzb2JyZSAuLi4sIHNlIGNhcmdhbiBsYXMgYmFzZXMgZGUgZGF0b3MsIHNlIGxpbXBpYW4geSBzZSBnZW5lcmFuIHZpc3VhbGl6YWNpb25lcyBjbGF2ZS4NCg0KYGBge3J9DQpzb3VyY2UoIkltcG9ydERhdGFzZXQuUiIsIGxvY2FsID0ga25pdHI6OmtuaXRfZ2xvYmFsKCkpDQpgYGANCg0KYGBge3J9DQpzb3VyY2UoIlNjYXR0ZXJQbG90UElCdnNFc3BlcmFuemFWaWRhNC5SIiwgbG9jYWwgPSBrbml0cjo6a25pdF9nbG9iYWwoKSkNCmBgYA0KDQpXaGVuIHlvdSBzYXZlIHRoZSBub3RlYm9vaywgYW4gSFRNTCBmaWxlIGNvbnRhaW5pbmcgdGhlIGNvZGUgYW5kIG91dHB1dCB3aWxsIGJlIHNhdmVkIGFsb25nc2lkZSBpdCAoY2xpY2sgdGhlICpQcmV2aWV3KiBidXR0b24gb3IgcHJlc3MgKkN0cmwrU2hpZnQrSyogdG8gcHJldmlldyB0aGUgSFRNTCBmaWxlKS4NCg0KVGhlIHByZXZpZXcgc2hvd3MgeW91IGEgcmVuZGVyZWQgSFRNTCBjb3B5IG9mIHRoZSBjb250ZW50cyBvZiB0aGUgZWRpdG9yLiBDb25zZXF1ZW50bHksIHVubGlrZSAqS25pdCosICpQcmV2aWV3KiBkb2VzIG5vdCBydW4gYW55IFIgY29kZSBjaHVua3MuIEluc3RlYWQsIHRoZSBvdXRwdXQgb2YgdGhlIGNodW5rIHdoZW4gaXQgd2FzIGxhc3QgcnVuIGluIHRoZSBlZGl0b3IgaXMgZGlzcGxheWVkLg0KDQojIDEpIEludHJvZHVjY2nDs24NCg0KRW4gdW4gbXVuZG8gY2FkYSB2ZXogbcOhcyBnbG9iYWxpemFkbywgY29tcHJlbmRlciBsYXMgZGlmZXJlbmNpYXMgeSBzaW1pbGl0dWRlcyBlbnRyZSBwYcOtc2VzIGVuIHTDqXJtaW5vcyBkZSBkZXNhcnJvbGxvIGVjb27Ds21pY28sIHNvY2lhbCB5IGFtYmllbnRhbCBlcyBmdW5kYW1lbnRhbCBwYXJhIGxhIHRvbWEgZGUgZGVjaXNpb25lcyB5IGZvcm11bGFjacOzbiBkZSBwb2zDrXRpY2FzIHDDumJsaWNhcy4gRXN0ZSBwcm95ZWN0byByZWFsaXphIHVuIGFuw6FsaXNpcyBleHBsb3JhdG9yaW8gZGUgZGF0b3MgKEVEQSkgc29icmUgZWwgY29uanVudG8gZGUgZGF0b3MgV29ybGQgRGV2ZWxvcG1lbnQgSW5kaWNhdG9ycyAoV0RJKSBkZWwgQmFuY28gTXVuZGlhbCwgY29uIGVsIG9iamV0aXZvIGRlIGRlc2N1YnJpciBwYXRyb25lcywgcmVsYWNpb25lcyB5IHRlbmRlbmNpYXMgY2xhdmUgZW50cmUgZGlzdGludGFzIHZhcmlhYmxlcyBkZSBkZXNhcnJvbGxvLg0KDQojIDIpIERlc2NyaXBjacOzbiBkZWwgUHJvYmxlbWE6DQoNCkxhIGdyYW4gY2FudGlkYWQgZGUgaW5kaWNhZG9yZXMgZGlzcG9uaWJsZXMgZW4gbG9zIGRhdG9zIGRlbCBCYW5jbyBNdW5kaWFsIHBlcm1pdGUgZXhwbG9yYXIgcHJlZ3VudGFzIGNvbW86IMK/Q8OzbW8gaGEgZXZvbHVjaW9uYWRvIGVsIGFjY2VzbyBhIGxhIGVkdWNhY2nDs24geSBsYSBzYWx1ZCBlbiBkaXN0aW50YXMgcmVnaW9uZXM/IMK/RXhpc3RlIHVuYSByZWxhY2nDs24gZW50cmUgZWwgUElCIHBlciBjw6FwaXRhIHkgbGEgZXNwZXJhbnphIGRlIHZpZGE/IMK/UXXDqSBwYcOtc2VzIG11ZXN0cmFuIGFub21hbMOtYXMgZW4gc3VzIGluZGljYWRvcmVzIGFtYmllbnRhbGVzPyDCv0PDs21vIHNlIHJlbGFjaW9uYW4gbGFzIG3Dumx0aXBsZXMgZGltZW5zaW9uZXMgZGVsIGRlc2Fycm9sbG8gZW4gZWwgdGllbXBvPyDCv1NlIHJlbGFjaW9uYSBlbCBuaXZlbCBkZSBhbGZhYmV0aXphY2nDs24gY29uIGxhIGVzcGVyYW56YSBkZSB2aWRhIGRlIGxhIHBlcnNvbmE/DQoNCkVzdGUgcHJveWVjdG8gc2UgcHJvcG9uZSB1dGlsaXphciB0w6ljbmljYXMgZGUgdmlzdWFsaXphY2nDs24geSBhbsOhbGlzaXMgZXhwbG9yYXRvcmlvIHBhcmEgZ2VuZXJhciBpbnNpZ2h0cyBzaWduaWZpY2F0aXZvcyBxdWUgbm9zIGF5dWRlbiBhIHJlc3BvbmRlciBhbGd1bmFzIGRlIGVzdGFzIHByZWd1bnRhcyB5IGEgc3UgbWlzbW8gdGllbXBvIHF1ZSBlbCBtaXNtbyBlc3BlY3RhZG9yIGRlIGVzdGFzIHB1ZWRhIGdlbmVyYXIgY29uY2x1c2lvbmVzIHBvciBlbCBtaXNtby4NCg0KIyAzKSBGdWVudGVzOg0KDQpFc3RlIHByb3llY3RvIGRlIGFuw6FsaXNpcyBzZSBiYXNhIG1heW9ybWVudGUgZW4gZWwgZGF0YXNldCBkZSBXb3JsZCBEZXZlbG9wbWVudCBJbmRpY2F0b3JzIChXREkpLCBkaXNwb25pYmxlIHDDumJsaWNhbWVudGUgZW4gV29ybGQgQmFuayBEYXRhMzYwLiBFc3RlIGNvbmp1bnRvIGNvbnRpZW5lIG3DoXMgZGUgbWlsIGluZGljYWRvcmVzIHBhcmEgbcOhcyBkZSAyMDAgcGHDrXNlcyBkZXNkZSAxOTYwIGhhc3RhIGxhIGFjdHVhbGlkYWQuIFBhcmEgZXN0YSBpbnZlc3RpZ2FjacOzbiwgc2Ugc2VsZWNjaW9uYXJvbiBsb3Mgc2lndWllbnRlcyBpbmRpY2Fkb3JlcyBjbGF2ZTogUElCIHBlciBjw6FwaXRhIChVU0QgYWN0dWFsZXMpIOKAkyBOWS5HRFAuUENBUC5DRCBFc3BlcmFuemEgZGUgdmlkYSBhbCBuYWNlciAoYcOxb3MpIOKAkyBTUC5EWU4uTEUwMC5JTiBUYXNhIGRlIGFsZmFiZXRpemFjacOzbiAoJSBkZSBhZHVsdG9zKSDigJMgU0UuQURULkxJVFIuWlMgRW1pc2lvbmVzIGRlIENP4oKCICh0b25lbGFkYXMgcGVyIGPDoXBpdGEpIOKAkyBFTi5BVE0uQ08yRS5QQyBQb2JsYWNpw7NuIHRvdGFsIOKAkyBTUC5QT1AuVE9UTCBQb3JjZW50YWplIGRlIGFjY2VzbyBhIHNlcnZpY2lvcyBiw6FzaWNvcyDigJMgU0guSDJPLkJBU1cuWlMNCg0KIyA0KSBHcsOhZmljYXM6DQoNCiMgQW7DoWxpc2lzIHVuaWRpbWVuc2lvbmFsDQoNCiMgMS4gRGlzdHJpYnVjacOzbiBkZWwgUElCIHBlciBjw6FwaXRhICgyMDIyKQ0KDQpEaXN0cmlidWNpw7NuOiBTZSBvYnNlcnZhIHVuYSBkaXN0cmlidWNpw7NuIGFzaW3DqXRyaWNhIGhhY2lhIGxhIGRlcmVjaGEuDQoNClRlbmRlbmNpYSBnZW5lcmFsOiBMYSBtYXlvcsOtYSBkZSBsb3MgcGHDrXNlcyB0aWVuZW4gdW4gUElCIHBlciBjw6FwaXRhIGluZmVyaW9yIGEgbG9zIFwkMTAsMDAwIFVTRC4NCg0KVW4gbsO6bWVybyByZWR1Y2lkbyBkZSBwYcOtc2VzIGNvbW8gU3VpemEsIE5vcnVlZ2EsIENhdGFyIHkgRXN0YWRvcyBVbmlkb3MgbXVlc3RyYW4gbml2ZWxlcyBleHRyZW1hZGFtZW50ZSBhbHRvcyAoXD42MCwwMDAgVVNEKS4NCg0KRXN0byByZWZsZWphIGxhIGRlc2lndWFsZGFkIGVjb27Ds21pY2EgZ2xvYmFsLCBkb25kZSBtdWNob3MgcGHDrXNlcyBzaWd1ZW4gZW4gZGVzYXJyb2xsbyBtaWVudHJhcyBxdWUgdW5hIG1pbm9yw61hIHBvc2VlIGVjb25vbcOtYXMgYWx0YW1lbnRlIGRlc2Fycm9sbGFkYXMuDQoNCiMgMi5Fc3BlcmFuemEgZGUgVmlkYSBwb3IgUmVnaW9uICgyMDIyKQ0KDQpEaXN0cmlidWNpw7NuIGdlbmVyYWw6IExhIGdyw6FmaWNhIG11ZXN0cmEgbGFzIGRpZmVyZW5jaWFzIGVuIGxhIGVzcGVyYW56YSBkZSB2aWRhIGFsIG5hY2VyIGVudHJlIHJlZ2lvbmVzLg0KDQpTZSBvYnNlcnZhIHF1ZSBsYXMgcmVnaW9uZXMgZGUgRXVyb3BhIHkgQW3DqXJpY2EgZGVsIE5vcnRlIHRpZW5lbiB1biByYW5nbyBkZSBlc3BlcmFuemEgZGUgdmlkYSBiYXN0YW50ZSBhbHRvIHkgZXN0cmVjaG8sIG1pZW50cmFzIHF1ZSDDgWZyaWNhIFN1YnNhaGFyaWFuYSBtdWVzdHJhIHVuYSBtYXlvciBkaXNwZXJzacOzbiB5IHZhbG9yZXMgbcOhcyBiYWpvcy4NCg0KQWxndW5hcyByZWdpb25lcywgY29tbyBBc2lhIE9yaWVudGFsLCB0aWVuZW4gdW5hIGFsdGEgZXNwZXJhbnphIGRlIHZpZGEsIHBlcm8gY29uIHZhcmlhYmlsaWRhZCBkZXBlbmRpZW5kbyBkZSBsb3MgcGHDrXNlcyBkZW50cm8gZGUgbGEgcmVnacOzbi4NCg0KVmFsb3JlcyBleHRyZW1vcyAob3V0bGllcnMpOiBTZSBwdWVkZW4gaWRlbnRpZmljYXIgYWxndW5hcyByZWdpb25lcyBjb24gdmFsb3JlcyBhdMOtcGljb3MsIGNvbW8gcGHDrXNlcyBjb24gbml2ZWxlcyBleHRyZW1hZGFtZW50ZSBhbHRvcyBkZSBlc3BlcmFuemEgZGUgdmlkYSAocG9yIGVqZW1wbG8sIGVuIEV1cm9wYSBvIEFtw6lyaWNhIGRlbCBOb3J0ZSkuDQoNClRlbmRlbmNpYSBnZW5lcmFsOiBSZWdpb25lcyBjb21vIMOBZnJpY2EgU3Vic2FoYXJpYW5hIHkgQXNpYSBNZXJpZGlvbmFsIHRpZW5lbiB1bmEgbWVkaWEgZGUgZXNwZXJhbnphIGRlIHZpZGEgbcOhcyBiYWphIHkgdW5hIGdyYW4gZGlzcGVyc2nDs24sIGxvIHF1ZSBpbmRpY2EgZGlzcGFyaWRhZGVzIHNpZ25pZmljYXRpdmFzIGVudHJlIGxvcyBwYcOtc2VzIGRlbnRybyBkZSBlc3RhcyByZWdpb25lcy4NCg0KIyAzLiBHcmFmaWNvIGRlIGRlbnNpZGFkIGRlbCBDTzINCg0KRGlzdHJpYnVjacOzbjogQWx0YW1lbnRlIGFzaW3DqXRyaWNhIGNvbiB1bmEgbGFyZ2EgY29sYSBkZXJlY2hhLg0KDQpUZW5kZW5jaWEgZ2VuZXJhbDoNCg0KTGEgbWF5b3LDrWEgZGUgcGHDrXNlcyBlbWl0ZW4gbWVub3MgZGUgNSB0b25lbGFkYXMgZGUgQ0/igoIgcGVyIGPDoXBpdGEuDQoNCkNhc29zIGV4dHJlbW9zIGNvbW8gQ2F0YXIgeSBFbWlyYXRvcyDDgXJhYmVzIFVuaWRvcyBzdXBlcmFuIGxhcyAyNSB0b25lbGFkYXMsIGRlc3RhY2FuZG8gY29tbyBvdXRsaWVycy4NCg0KRXN0byByZWZsZWphIHVuYSBlbm9ybWUgZGVzaWd1YWxkYWQgZW4gdMOpcm1pbm9zIGRlIHJlc3BvbnNhYmlsaWRhZCBhbWJpZW50YWwgeSBkZXNhcnJvbGxvIGVjb27Ds21pY28uDQoNCiMgNC4gU2NhdHRlclBsb3QgZGVsIFBJQiB2cyBsYSBFc3BlcnphbnphIGRlIFZpZGENCg0KU2Ugb2JzZXJ2YSB1bmEgY29ycmVsYWNpw7NuIHBvc2l0aXZhOiBsb3MgcGHDrXNlcyBjb24gbWF5b3IgUElCIHBlciBjw6FwaXRhIHRpZW5kZW4gYSB0ZW5lciB1bmEgbWF5b3IgZXNwZXJhbnphIGRlIHZpZGEuDQoNCkV4aXN0ZW4gZXhjZXBjaW9uZXMgbm90YWJsZXMsIGNvbW8gRXN0YWRvcyBVbmlkb3MsIHF1ZSB0aWVuZSB1biBQSUIgYWx0byBwZXJvIHVuYSBlc3BlcmFuemEgZGUgdmlkYSBtw6FzIGJhamEgZW4gY29tcGFyYWNpw7NuIGNvbiBvdHJvcyBwYcOtc2VzIGRlIGluZ3Jlc28gc2ltaWxhci4NCg0KTGEgZXNjYWxhIGxvZ2Fyw610bWljYSBwZXJtaXRlIG9ic2VydmFyIGNvbiBtYXlvciBjbGFyaWRhZCBsb3MgcGHDrXNlcyBkZSBiYWpvcyB5IG1lZGlhbm9zIGluZ3Jlc29zLCBxdWUgZGUgb3RybyBtb2RvIHF1ZWRhcsOtYW4gYWdydXBhZG9zLg0KDQojIDUuIEJ1YmJsZVBsb3QgQWxmYWJldGl6YWNpb24gQWd1YSBQb2JsYWNpb24gKDIwMjIpDQoNCkVzIHByb2JhYmxlIHF1ZSBsb3MgcGHDrXNlcyBjb24gdW5hIG1heW9yIHRhc2EgZGUgYWxmYWJldGl6YWNpw7NuIHRhbWJpw6luIHByZXNlbnRlbiB1biBtYXlvciBwb3JjZW50YWplIGRlIGFjY2VzbyBhIGFndWEgYsOhc2ljYS4NCg0KU2UgcHVlZGVuIG9ic2VydmFyIGV4Y2VwY2lvbmVzIGVuIHBhw61zZXMgY29uIGRpZmVyZW50ZXMgbml2ZWxlcyBkZSBwb2JsYWNpw7NuLCBkb25kZSBsYSBmYWx0YSBkZSBhbGZhYmV0aXphY2nDs24gbyBkZSBhY2Nlc28gYSBhZ3VhIGLDoXNpY2EgcHVlZGUgc2VyIG3DoXMgcHJvbnVuY2lhZGEuDQoNCiMgVG9kYXbDrWEgbWUgZmFsdGEgcGVybyBsYSBlc3RydWN0dXJhIHF1ZSB5YSBlc3TDoSBsYXMgc2VjY2lvbmVzIGRlIC5yLCBlcyBkYW5kb2xlIGFsIGMrIGRlIGFycmliYSwgb3BjacOzbiAuciwgeSBkZSBhaMOtIHNlIHBvbmUgZWwgY29kaWdvIGRlIGltcG9ydGFjacOzbiBlbiBlbCBtZWRpbyBkZSBlc3TDoXMgc2VjY2lvbmVzIGRlIHRleHRvDQoNCiMgTm90YTogU2kgbm8gbG9ncmFtb3MsIGxpdCBzb2xvIGNvcGlhbW9zIGVsIGNvZGlnby4NCg==